//Vous pouvez utiliser cette fonction

function ApplicationVersion: string;
var
VerInfoSize, VerValueSize, Dummy: DWord;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
//Deux solutions :
if VerInfoSize <> 0 then
//- Les info de version sont inclues
begin
//On alloue de la mémoire pour un pointeur sur les info de version :
GetMem(VerInfo, VerInfoSize);
//On récupére ces informations :
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
//On traite les informations ainsi récupérées :
with VerValue^ do
begin
Result := IntToStr(dwFileVersionMS shr 16);
Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
Result := Result + '.' + IntToStr(dwFileVersionLS and $FFFF);
end;
//On libère la place précedement allouée :
FreeMem(VerInfo, VerInfoSize);
end
else
//- Les infos de version ne sont pas inclues
//On déclenche une exception dans le programme :
raise EAccessViolation.Create('Les informations de version de sont pas inclues');
end;

Retour vers l'index delphi